ProStructures CONNECT Edition Configuration

CONNECT Edition Configuration Basics

The main purpose for configuration is to tell ProStructures where to find and create files. Configuration is also used to control behaviors in ProStructures, e.g. should shape profiles be loaded from the Structural Property Catalog?

Configuration variables-name/value pairs-are defined in configuration files. These text files are read at startup and the name/value pairs are stored in memory. ProStructures looks up the value for the related variable before working with a (data) file or performing an externally configured action.

Configuration Levels

The configuration system is organized as a hierarchy. The lower levels are for commonly used data files and default variable values. The higher levels are for targeted data files, modifications to configuration variable values from lower levels, and additional configuration variables. When ProStructures looks up the value for a configuration variable, it gets the value from the highest level the variable is defined.

System and Application

The lowest levels are the System and Application levels. At these levels are the data files the user typically does not modify and the configuration variables that locate them.

System and Application configuration files have a .cfg extension. The .cfg files are found under the program folder (programInstallationFolder\ProStructures\Config\ and its subfolders) and should not be modified by administrators or users.

Organization

The next level above the Application level is the Organization level. This level is for data files everyone in the organization should use and the configuration variables and settings that locate them. The Organization level is the first level for administrator and user customization.

Organization configuration files have a .cfg extension and are in the Organization folder.

  • Product Extension - The Organization folder is designed to be shared by the PowerProducts an organization uses to do its work. The convention is to put product-specific data and configuration files in an Organization subfolder named for the product, e.g. Organization\ProStructures\. Configuration variables in product-specific configuration files are available only when the product is running.

WorkSpace

An organization divides its work up in some way-by client, by asset, by department, by whatever makes sense to the organization. "WorkSpace" is the generic term used in PowerProducts for a subset of the work done by an organization.

The WorkSpace level is the second level for administrator and user customization. This level is for data files specific to some subset of the organization's work and the configuration variables and settings that locate them.

The main workspace configuration file is named workSpaceName.cfg and is in the WorkSpaces folder. Only the file matching the workspace name is loaded from the WorkSpaces folder; all other .cfg files are ignored. If .cfg files exist in the workspace root folder-…\WorkSpaces\workSpaceName\, those .cfg files are loaded as well.

  • Product Extension - A WorkSpace is designed to be shared by the PowerProducts that work with it. The convention is to put product-specific data and configuration files in a workspace Standards subfolder named for the product, e.g. workSpaceName\Standards\ProStructures\. Configuration variables in product-specific configuration files are available only when the product is running.

WorkSet

The workset is a logical grouping of (design) files and associated data. It was called a project in V8i. A workset is owned by a workspace.

The WorkSet level is the third level for administrator and user customization. This level is for output files and workset-specific data files and the configuration variables and settings that locate them.

The main workset configuration file is named workSetName.cfg and is in the workspace's WorkSets folder. Only the file matching the workset name is loaded from the WorkSets folder; all other .cfg files are ignored. If .cfg files exist in the workset root folder-…\WorkSets\workSetName\, those .cfg files are loaded as well.

A workset includes a DGN workset file for workset-wide properties. (See the help for more information.) The file is typically named workSetName.dgnws and is found in the WorkSets folder with workSetName.cfg. ProStructures will create a default DGN workset file when the file does not exist.

  • Product Extension - A workset is designed to be shared by the PowerProducts that work with it. The convention is to put product-specific data and configuration files in a workset Standards subfolder named for the product, e.g. workSetName\Standards\ProStructures\. Configuration variables in product-specific configuration files are available only when the product is running.

User

The highest configuration level is User and is for the user's preferences. The data files typically maintain UI info like ribbon state and dialog locations and sizes.

The User configuration file is named Personal.ucf and found in c:\Users\loginName\AppData\Local\Bentley\productName\productVersion\prefs\. Its main purpose is to record the current workspace and workset names so they can be used in the next ProStructures session.

Note: Reinstalling ProStructures does not impact User configuration.

Variable Assignment

The syntax for setting a variable in a configuration file is:

NAME operator VALUE
Operator Result
= Set NAME to VALUE replacing whatever NAME was previously set to.
: Set NAME to VALUE only if NAME is not defined (have a value).
> For list types: Add ";VALUE" to the end of the current definition of NAME.
< For list types: Add "VALUE;" to the beginning of the current definition of NAME.

VALUE may include other variable names, e.g.:

  • BASEPATH = c:/MyFolder/
  • XMLFILES = $(XMLPATH)*.xml
  • XMLPATH = $(BASEPATH)User/

In the above example, XMLFILES is defined before XMLPATH to illustrate variable names do not need to be defined before they are used. When ProStructures looks up XMLFILES, it gets "c:/MyFolder/User/*.xml".

Variables set at higher levels impact assignments at lower levels. Using the above example, if the following assignment were in a higher level .cfg file,

  • XMLPATH = d:/MyProject/XML/

ProStructures would get "d:/MyProject/XML/*.xml when it looks up XMLFILES.

Beyond the Basics

The preceding sections on configuration are background for the rest of this document. For complete information on configuration, see "Setting up the Environment > Configuration" in the help.